package com.baidu.ota.utils;

import android.content.Context;
import android.os.Build;

import com.baidu.ota.impl.RecoveryFactory;

import java.io.File;

public class RecoveryUtil {
    /**
     * 下一次重启时才进入Recovery升级
     *
     * @param context cx
     * @param file    file
     * @return 空字符串表示成功，否则表示失败原因
     */
    public static String installOnNextBoot(Context context, File file) {
        return RecoveryFactory.getInst().installSystemOnNextBoot(context, file);
    }

    /**
     * 立即进入Recovery升级
     *
     * @param context cx
     * @param file    file
     */
    public static void installNow(Context context, File file) throws Exception {
        RecoveryFactory.getInst().installSystemNow(context, file);
    }

    /**
     * 重启进入Recovery升级
     *
     * @param context 上下文
     */
    public static void reboot2Recovery(Context context) {
        RecoveryFactory.getInst().reboot2Recovery(context);
    }

    /**
     * 是否支持计划开机升级
     *
     * @return true or false
     */
    public static boolean supportScheduleUpdateOnBoot() {
        return Build.VERSION.SDK_INT > Build.VERSION_CODES.M;
    }
}
